home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / kvm_para.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  833 b   |  41 lines

  1. #ifndef __LINUX_KVM_PARA_H
  2. #define __LINUX_KVM_PARA_H
  3.  
  4. /*
  5.  * This header file provides a method for making a hypercall to the host
  6.  * Architectures should define:
  7.  * - kvm_hypercall0, kvm_hypercall1...
  8.  * - kvm_arch_para_features
  9.  * - kvm_para_available
  10.  */
  11.  
  12. /* Return values for hypercalls */
  13. #define KVM_ENOSYS        1000
  14. #define KVM_EFAULT        EFAULT
  15. #define KVM_E2BIG        E2BIG
  16.  
  17. #define KVM_HC_VAPIC_POLL_IRQ        1
  18. #define KVM_HC_MMU_OP            2
  19.  
  20. /*
  21.  * hypercalls use architecture specific
  22.  */
  23. #include <asm/kvm_para.h>
  24.  
  25. #ifdef __KERNEL__
  26. #ifdef CONFIG_KVM_GUEST
  27. void __init kvm_guest_init(void);
  28. #else
  29. #define kvm_guest_init() do { } while (0)
  30. #endif
  31.  
  32. static inline int kvm_para_has_feature(unsigned int feature)
  33. {
  34.     if (kvm_arch_para_features() & (1UL << feature))
  35.         return 1;
  36.     return 0;
  37. }
  38. #endif /* __KERNEL__ */
  39. #endif /* __LINUX_KVM_PARA_H */
  40.  
  41.